package io.renren.service;

import com.baomidou.mybatisplus.service.IService;
import io.renren.common.utils.R;
import io.renren.entity.StudentEntity;
import io.renren.entity.SubjectEntity;

import java.util.List;
import java.util.Map;

/**
 * 科目表
 *
 * @author LANLING
 * @email lanling@gmail.com
 * @date 2018-10-23 10:47:09
 */
public interface SubjectService extends IService<SubjectEntity> {

    /***
     * 获取科目列表
     * @param studentId 学员id
     * @return R
     */
    List<Map<String, Object>> getSubjectList(Long studentId);

    /***
     * 保存学员的答题记录
     * @param student 学员
     * @param questionId 题目id
     * @param exercisesType 练习类型，1表示顺序练习；2表示随机练习；3表示错题练习
     * @param studentAnswer 学员答案
     * @return R
     */
    R recordAnswer(StudentEntity student,
                   Integer questionId,
                   Integer exercisesType,
                   String studentAnswer);
    /***
     * 获取练习题目信息
     * @param student 学员
     * @param subjectId 科目id
     * @param exercisesType 1顺序练习 2随机 3错题
     * @param sort 序号(只有顺序练习有)
     * @param state 是否查序号
     * @param type 针对错题练习 1为错题题目练习 2为收藏题目练习(错题练习一定要传type)
     * @return R
     */
    R getQuestionList(StudentEntity student,
                      Integer subjectId,
                      Integer exercisesType,
                      Integer sort,
                      Integer state,
                      Integer type);

    /***
     * 小程序
     * 获取科目列表
     * @param student 学员
     * @param subjectName 科目名称
     * @return
     */
    List<Map<String, Object>> getXSubjectList(StudentEntity student,String subjectName);
}

